package net.wy.commons.util;

import java.math.BigDecimal;

public class NumberUtil{

	/**
	 * 截取double数的有效数字�?
	 * @param input 原double�?
	 * @param scale 小数点后有效位数
	 * @return 截取后的double�?
	 */
    public static double scaleDouble(double input, int scale) {
    	if(Double.isNaN(input)){
    		return 0.0;
    	}
    	if(0 >= scale){
    		return input;
    	}
    	//BigDecimal.ROUND_HALF_UP�?
		//向近的数字舍入，如果与两个相邻数字的距离相等，则为向上舍入的舍入模式
		//如果舍弃部分 >= 0.5，则舍入行为ROUND_UP 相同；否则舍入行为与 ROUND_DOWN 相同
		//注意，这是我们大多数人在小学时就学过的舍入模式，即四舍五入
		BigDecimal bigDecimal = new BigDecimal(input).setScale(scale,  BigDecimal.ROUND_HALF_UP);
        return bigDecimal.doubleValue();
    }

}
